package com.wyx.suanfa;

import java.util.Stack;

/**
 * @author 王艺锡
 * @version 1.0
 */
/*public class MyQueue {
  //请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作（push、pop、peek、empty）：
    //
    //实现 MyQueue 类：
    //
    //void push(int x) 将元素 x 推到队列的末尾
    //int pop() 从队列的开头移除并返回元素
    //int peek() 返回队列开头的元素
    //boolean empty() 如果队列为空，返回 true ；否则，返回 false

}*/


/*
* class MyQueue {
    Stack<Integer> stackIn;//进栈
    Stack<Integer> stackOut;//出栈
    public MyQueue() {
        //在构造器中完成初始化
        stackIn = new Stack<>();
        stackOut = new Stack<>();
    }

    public void push(int x) {//入栈
        stackIn.push(x);
    }

    public int pop() {//取栈头元素
        copyStackIn();
        return stackOut.pop();
    }

    public int peek() {//返回栈头元素
        copyStackIn();
        return stackOut.peek();
    }

    public boolean empty() {
        if(stackIn.isEmpty() && stackOut.isEmpty()){
            return true;
        }
        return false;
    }

    public void copyStackIn(){
        if(!stackOut.isEmpty()){//如果出栈不为空
            return;
        }
        //如果出栈为空，把入栈中的元素都添加进出栈
        while(!stackIn.isEmpty()){
            stackOut.push(stackIn.pop());
        }
        return;
    }
}

/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue obj = new MyQueue();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.peek();
 * boolean param_4 = obj.empty();
 */


